/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2022-2023. All rights reserved.
 */

package common

// query balance parameter--由调用方保证非空即有效
type QueryBalanceDetail struct {
	UserId        []string
	BalanceStatus []bool
	Page          *int
	PageSize      *int
}

// query balanceRecord parameter--由调用方保证非空即有效
type QueryBalanceRecordDetail struct {
	BalanceRecordId    []string
	UserId             []string
	OperationType      []int
	OperationTimeBegin *int64
	OperationTimeEnd   *int64
	Currency           *string
	PaymentMethod      *string
	Page               *int
	PageSize           *int
	TimeReverseOrder   *bool
}

// query credit parameter--由调用方保证非空即有效
type QueryCreditDetail struct {
	UserId            []string
	CreditStatus      []bool
	ExpireTimeBegin   *int64
	ExpireTimeTimeEnd *int64
	Currency          *string
	Page              *int
	PageSize          *int
}

// query  creditecord parameter--由调用方保证非空即有效
type QueryCreditRecordDetail struct {
	CreditRecordId     []string
	UserId             []string
	OperationType      []int
	OperationTimeBegin *int64
	OperationTimeEnd   *int64
	Currency           *string
	ExpireTimeBegin    *int64
	ExpireTimeEnd      *int64
	Page               *int
	PageSize           *int
}

// query bill  parameter--由调用方保证非空即有效
type QueryBillDetail struct {
	BillCycle        string
	UserId           []string
	PlatformType     []string
	BillId           []string
	OrderId          []string
	ChargeMode       []int32
	BillType         []int32
	BillStatus       []int32
	TradeTimeBegin   *int64
	TradeTimeEnd     *int64
	Page             *int
	PageSize         *int
	TimeReverseOrder *bool
}

// query production  parameter--由调用方保证非空即有效
type QueryProductionDetail struct {
	ProductionId   []string
	ProductionType []string
	ProductionName []string
	Page           *int
	PageSize       *int
}

// query assert  parameter--由调用方保证非空即有效
type QueryAssetDetail struct {
	AssetId                []string
	UserId                 []string
	ProductionType         []string
	ResourceType           []string
	ResourceStatus         []string
	CloudResourceId        []string
	AssociatedOrderId      []string
	AssociatedCloudOrderId []string
	Page                   *int
	PageSize               *int
}

//query one-pay-order paramenter --由调用方保证非空即有效
type QueryOnePayOrderDetail struct {
	UserId           []string
	CloudUserId      []string
	OrderId          []string
	PlatformType     []string
	CloudOrderId     []string
	OrderType        []int32
	OrderStatus      []int32
	CreatedTimeBegin *int64
	CreatedTimeEnd   *int64
	PaymentTimeBegin *int64
	PaymentTimeEnd   *int64
	Currency         *string
	Page             *int
	PageSize         *int
	TimeReverseOrder *bool
}

//query on-demand-order paramenter --由调用方保证非空即有效
type QueryOnDemandOrderDetail struct {
	UserId           []string
	CloudUserId      []string
	OrderId          []string
	PlatformType     []string
	ResourceId       []string
	OrderType        []int32
	CreatedTimeBegin *int64
	CreatedTimeEnd   *int64
	Page             *int
	PageSize         *int
	TimeReverseOrder *bool
}

type ModifyUserDetail struct {
	UserId          string
	Password        *string
	Salt            *string
	PwdChanged      *bool
	Authenticated   *bool
	ProfilePhotoUrl *string
	Lock            *bool
	FailTimes       *int
	LockTime        *int64
	PhoneNumber     *string
}

// query user parameter
type QueryUserDetail struct {
	UserId      []string
	UserName    []string
	PhoneNumber []string
	Locked      []bool
	PwdChanged  []bool
	Page        *int
	PageSize    *int
}

//query AssetRelation parameter
type QueryOrderUpdateRecordDetail struct {
	UserId []string
}

type ModifyOrderUpdateRecordDetail struct {
	UserId                     string
	OnePayOrderUpdateTime      *int64
	OnDemandResourceUpdateTime *int64
}

//query AssetRelation parameter
type QueryBillUpdateRecordDetail struct {
	UserId []string
}

type ModifyBillUpdateRecordDetail struct {
	UserId                              string
	BillUpdateOnePayCycle               *string
	BillUpdateOnePayReverseOffset       *int32
	BillUpdateOnePayDateBegin           *string
	BillUpdateOnePayDateEnd             *string
	BillUpdateOnDemandCycle             *string
	BillUpdateOnDemandReverseOffset     *int32
	BillUpdateOnDemandDateBegin         *string
	BillUpdateOnDemandDateEnd           *string
	ResourceUpdateOnePayCycle           *string
	ResourceUpdateOnePayReverseOffset   *int32
	ResourceUpdateOnePayDateBegin       *string
	ResourceUpdateOnePayDateEnd         *string
	ResourceUpdateOnDemandCycle         *string
	ResourceUpdateOnDemandReverseOffset *int32
	ResourceUpdateOnDemandDateBegin     *string
	ResourceUpdateOnDemandDateEnd       *string
}
